package com.tbit.uqbike.client.service;


import com.tbit.uqbike.client.pojo.Dispatch;
import com.tbit.uqbike.client.pojo.Machine;
import com.tbit.uqbike.client.pojo.Point;
import com.tbit.uqbike.client.pojo.RideLog;

/**
 * @Author: chen
 * @Description: 设备功能条件判断
 * @Date: 创建于 17:49 2021/7/7
 */
public interface MachineCheckService {

    /**
     * 摄像头还车条件判断
     *
     * @param accountId   区域id
     * @param machineNO   设备编号
     * @param parkPointId 站点id
     */
    Dispatch checkWebcam(Integer accountId, String machineNO, Integer parkPointId, String tlvs, Integer isLast);

    /**
     * rfid还车条件判断
     *
     * @param accountId
     * @param machineNO
     * @param parkPointId
     * @return
     */
    Dispatch checkRfid(Integer accountId, String machineNO, Integer parkPointId, String tlvs, Integer isLast);

    /**
     * rfid还车条件判断
     *
     * @param accountId
     * @param machineNO
     * @param parkPointId
     * @return
     */
    Dispatch checkJc(Integer accountId, String machineNO, Integer parkPointId, String tlvs, Integer isLast);

    /**
     * 手机拍照还车条件判断
     *
     * @param accountId
     * @param machine
     * @param parkPointId
     * @return
     */
    Dispatch checkPhonePhoto(Integer accountId, Machine machine, Integer parkPointId, String orderNO, Integer isLast,
                             Integer userId, RideLog rideLog);

    /**
     * 检查是否满足rfid所在站点
     *
     * @param value
     * @param accountId
     * @return
     */
    Integer isInRfid(String value, Integer accountId, String machineNO, Point point);

    /**
     * rfid还车条件判断
     *
     * @param accountId
     * @param machineNO
     * @param parkPointId
     * @return
     */
    Dispatch checkCdz(Integer accountId, String machineNO, Integer parkPointId, String orderNO, Integer isLast);
}
